package com.itheima.spring.bestpractive.vo.req.assessment;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
* 考核计划信息表
* @TableName assessment_plan
*/
@Data
@Repository
public class AssessmentPlanReqVo {


    private Long planId;

    @NotBlank(message="[考核计划名称]不能为空")
    @Schema(name = "考核计划名称")
    @Length(max= 100,message="编码长度不能超过100")
    private String planName;

    @NotBlank(message="[考核周期，如月度、季度]不能为空")
    @Schema(name = "考核周期，如月度、季度")
    @Length(max= 20,message="编码长度不能超过20")
    private String assessmentCycle;


    @NotNull(message="[部门编号]不能为空")
    @Schema(name = "部门编号")
    private Long departmentId;


    @NotNull(message="[计划开始时间]不能为空")
    @Schema(name = "计划开始时间")
    private Date startDate;

    @NotNull(message="[计划结束时间]不能为空")
    @Schema(name = "计划结束时间")
    private Date endDate;

    @Valid
    private List<@Valid AssessmentIndicatorReqAdminVo> indicators;

}
